// 接口和 type 都可以描述对象和函数
/* interface ITemp {
  (name: string, age: number): void
} */

// type TTemp = {
//   (name: string, age: number): void
// }
// const temp: TTemp = (name, age) => {}
// temp('ifer', 18)

// type & type
// type TName = { name: string }
interface TName {
  name: string
}
type TPerson = { age: number } & TName

const p: TPerson = {
  name: 'ifer',
  age: 18,
}
